Many different types of systems and devices rely on a controller of some type to control their operation. Such systems have a number of individual functions which must occur in some predetermined order for the system to operate properly. These functions are performed in a sequence of two or more phases or cycles under the control of the controller. For example, consider the common example of a washing machine. There is an initial fill cycle followed by an agitation cycle. Then there is a drain cycle, a spin cycle to extract soapy water, and at least one rinse cycle which may be combined with a spin cycle where rinse water is sprayed into the tub while the tub is spinning. Then there is a final spin cycle which dries the clothes to the maximum extent possible. The controller is necessary to sequence and time the individual phases of a complete wash cycle. We will call a specified set of these functions to be executed in a specified sequence for a particular device an operating mode.
In many cases there are two or more versions of such a device which are distinguishable from each other by among other things, their operating modes. The versions share many similarities in their operating modes or states, but also have important differences in their operating modes. These differences require different controller operation, that is, different operating modes. Turning to the washing machine example again, manufacturers usually produce different versions of similar washing machines. Thus, different versions have different numbers of washing cycles and water temperature options, extra low and high speed cycles, etc. Each version requires a controller tailored to its specific feature set, that is a controller having the appropriate operating mode for the device. Thus, where a number of these different device versions exist, there must be a corresponding number of different controllers each having its own operating mode.
If this number of different controllers is large, a substantial stocking and inventory problem for these controllers can arise. One example might be for a business handling replacement controllers for repairing the controlled devices. Another example is for large custom-designed systems where controllers must be specially configured for each installation. Large burner installations are an example of this situation.
Before the widespread availability of low cost microcontrollers these controllers were usually electro-mechanical devices of some type which provided the sequencing and timing for the various functions. With these older devices, it was customary to either provide a different controller for each operating mode, or to manually alter the configuration of the controller to suit the requirements of each system. But the need for a different controller for each operating mode of an otherwise very similar system, or a process for altering a single controller unit to provide a number of different operating modes, resulted in a complicated controller inventory and configuration process during installation and perhaps even more so, for maintaining a suitable spares inventory.
With the use of microcontrollers, the function and selection of a number of various operating modes provided to the system by the controller can be implemented in a more powerful and flexible way. A single microcontroller and PROM (programmable read only memory) can provide a number of different operating modes for a particular system. A specific operating mode may involve a particular set of instruction sequences, a particular set of numerical parameters, or a combination of both. In one version of a system controller which can be configured to operate in a number of different operating modes, a different PROM can be provided for each operating mode. This reduces the cost if not the number of individual units which must be produced and stocked. In another version, the PROM can be configured individually by a computer when the system parameters are known. In yet another version, one or more selector switches on the controller housing can be manually set to different positions prior to installation, each switch configuration specifying a different operating mode. In this situation, the microcontroller senses the states of the selector switches and executes the operating mode designated by the selector switches. Each of these expedients has merit in some circumstances. While these expedients do provide the types of controllers needed, the necessity of manufacturing and stocking a number of differing controllers adds cost to them.
Since the operating modes often have many, or even most, functions in common, the various operating modes can usually share a number of individual instruction sequences. Where the operating modes are selected by selector switches, the selection and sequencing of individual instruction sequences for a particular operating mode is made to depend on the selector switch settings. The instructions provided for the microcontroller which operates in this manner include an executive routine to perform these selection and sequencing functions. The executive program references the selector switch settings in transferring instruction execution to individual instruction sequences. In other situations, the operating modes may differ only in the time spans or durations of particular functions or parameters. Each combination of various functions' durations define a different operating mode. There are a number of different programming techniques which can provide the values for these time spans.
This is in fact the case for the particular application for which this invention was made, which is for controlling oil-fired burner operation. Operation of different versions in a family of oil burners differs mainly in the times for each of the functions. For example, the versions may have differing durations for their ignition and flame stabilization phases and differing values for their flame failure response times.
Where there are a large number of operating modes, the use of mode selector switches is convenient. Three selector switches can theoretically allow as many as eight different operating modes to be designated. Where there are only a small number of operating modes, say two or three, the additional one or two switches add cost to the controller which we prefer to avoid if possible. In fact, space limitations on the circuit board or outer surface of the housing may make it difficult or impossible in some situations to provide the necessary number of switches, particularly to existing designs. Then too, the fact that these mode switches are present on the device makes it tempting for personnel unfamiliar with the controller operation to improperly change their settings, thereby interfering with proper operation. A non-obvious means of changing operating mode provides at least some protection against improper mode changes.
An analogous problem arises in reconfiguring personal computers. As those familiar with computers know, pressing the F1 (or some other) key during a certain point in the startup sequence and typically indicated on the display, allows the computer's configuration to be changed. This keystroke causes a configuration menu to come up on the screen. The operator enters appropriate keystrokes as suggested by the menu to change the computer's configuration.